Combined echo and crosstalk cancellation

ABSTRACT

Combined echo and crosstalk cancellation is provided. Frequency domain adaptive filters are used to remove or reduce the effects of echo and crosstalk for a multi-channel and full-duplex communications system. Data from each transmit channel is buffered and converted to the frequency domain. The frequency domain data is multiplied by crosstalk coefficients to obtain a frequency domain correction signal for each channel. Adaptation of the crosstalk coefficients is based on correlations between the error signals and the data from each of the transmit channels. A single frequency domain transform engine, such as a Fast Fourier Transform engine, is employed for all calculations to save power and area.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/012,908 filed Feb. 5, 2008, which claims priority from U.S.provisional patent application No. 60/900,180 filed Feb. 7, 2007, all ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to echo and crosstalkcancellation. More particularly, the present invention relates tofrequency domain adaptive filters for echo and crosstalk cancellation.

SUMMARY AND DETAILED DESCRIPTION

Details of various embodiments of the present invention are disclosed inthe following appendices:

Appendix I: a 118-page document by the inventors.

Appendix II: a 2-page document by the inventors.

Appendix III: a 1-page document by the inventors

As one of ordinary skill in the art will appreciate, various changes,substitutions, and alterations could be made or otherwise implementedwithout departing from the principles of the present invention.Accordingly, the examples and drawings disclosed herein including theappendices are for purposes of illustrating the preferred embodiments ofthe present invention and are not to be construed as limiting theinvention.

1. A method for canceling echo and crosstalk, comprising: (a) receiving a plurality of data signals from a plurality of transmit channels, wherein said data signals are in a time domain; (b) buffering each of said data signals; (c) converting each of said data signals from said time domain to a frequency domain; (d) multiplying each of said data signals by a plurality of crosstalk coefficients to calculate a frequency domain correction for each of said transmit channels; (e) converting each of said frequency domain corrections to said time domain; and (f) updating at least one of said plurality of crosstalk coefficients. 